This section is intended to introduce the reader to various aspects of art which may be related to various aspects of the present invention which are described and/or claimed below. This discussion is believed to be helpful in providing the reader with background information to facilitate a better understanding of the various aspects of the present invention. Accordingly, it should be understood that these statements are to be read in this light, and not as admissions of prior art.
In a networked computing environment, computer systems belonging to many users are connected together so that they may communicate with each other and share resources. In a typical client-server network, each computer system is either a client computer system or a server computer system. Client computer systems provide the user with various software applications, such as word processing, graphics utilities, spreadsheets and databases. Server computer systems manage network resources for the client computer systems within the network. For example, one or more servers within a particular network may control network traffic, file systems, shared printer devices, shared applications, e-mail services, and various other resources. In this way, users can share access to each other's files and other resources from any location connected to the network. Networked computing has revolutionized the conduct of business around the world.
The evolution of networked computing has presented technologists with some challenging obstacles along the way. One obstacle is connecting computers that use different operating systems (OSs) and making them communicate efficiently with each other. Each different OS (or even variations of the same OS from the same company) has its own idiosyncrasies of operation and configuration. The interconnection of computers running different OSs presents significant ongoing issues that make day-to-day management of a computer network challenging.
Another significant challenge presented by the evolution of computer networking is the sheer scope of modem computer networks. At one end of the spectrum, a small business or home network may include a few client computers connected to a common server, which may provide a shared printer and/or a shared internet connection. On the other end of the spectrum, a global company's network environment may require interconnection of hundreds or even thousands of computers across large buildings, a campus environment, or even between groups of computers in different cities and countries. Such a configuration would typically include a large number of servers, each connected to numerous client computers.
Further, the arrangements of servers and clients in a larger network environment could be connected in any of a large number of topologies that may include local area networks (LANs), wide area networks (WANs) and municipal area networks (MANs). In these larger networks, a problem with any one server computer (for example, a failed hard drive, failed network interface card, OS lock-up, etc.) has the potential to interrupt the work of a large number of workers who depend on network resources to get their jobs done efficiently. Accordingly, considerable time is devoted to maintaining and optimizing networks for maximize productivity.
In recent years, the rapid expansion of networks and the potential hardware and software problems within and between each networked computer has caused considerable strain and significant interest in network management tools. Network managers typically install operating systems and applications software locally at each individual networked computer, making the task dependent on the availability of network managers. This on-site computer-by-computer management technique is very time-consuming for the network manager, who is often an outside network manager for multiple organizations. As the complexities of computer and network hardware and software continue to grow, the foregoing problems are becoming increasingly important to maintain the operability of networked computers.
In many client-server networks, client computer systems comprise diskless or headless computer systems. As opposed to traditional PCs, which have full hardware and software resources stored locally, diskless computer systems must boot from a remote computer system (i.e., a boot server) rather than from local storage. The configuration and start up files required for booting the diskless computer system are stored on the boot server, which transmits those files to users as requested and then subsequently authenticates the user's identity. Headless computer systems, such as headless servers, generally refer to computing devices lacking local interface devices. For example, a typical headless server may lack a local monitor, a keyboard, a mouse, and removable media devices (e.g., floppy disk drive, CD drive, DVD drive, tape drive, etc.). Although both diskless and headless computer systems may have significant hardware and software resources, the systems require considerable interaction with remote servers.
The remote boot process is one such interaction with remote servers. The typical remote boot process may utilize a variety of remote boot protocols, such as the pre-boot execution environment (PXE) specification and a part of the wired for management (WfM) specification. The remote boot process typically involves downloading a boot file from the boot server to the diskless computer system. The boot file includes a boot program and all the configuration and driver files needed to boot the diskless computer system and to connect with one or more server computer systems. After obtaining considerable access to the servers and data contents, the diskless computer system proceeds to execute the network login process on a login server. Accordingly, the remote boot process does not control or prevent access to the servers and data contents prior to the login process.
The relatively unrestricted data access during remote booting presents a network security problem, because the user may not actually be authorized to login to the server or access certain data on the server. Prior to the network login process, the user has access to network resources regardless of that user's identity or relationship to the organization. The security risk involved with the typical remote boot process is increasingly important for large organizations and research-oriented organizations, which may have confidential resources and other user-specific resources that are intended only for authorized users or network managers.
Accordingly, a need exists for a remote management and security system for networked computers that provides authorized users and network managers with needed media for the boot process, the software installation process, and other management functions that are typically performed on-site in a computer-to-computer process. A need also exists for remotely and automatically transmitting, installing and executing software, such as operating system software, applications software, boot files, installation files, configuration files and various other resources, to the various networked computers.